package com.wyl.template.domain.common;

import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

/**
 * @Auther: wyl
 * @Date: 2021/4/28
 * @Description:
 */
@Data
public class PageQuery<T> {

    /**
     * 当前页
     */
//    @NotNull(message = "页号不能为空！")
//    @Min(value = 1, message = "页号必须为正数！")
    private Integer current = 1;

    /**
     * 每页条数
     */
//    @NotNull(message = "每页条数不能为空！")
//    @Max(value = 100, message = "每页条数不能超过100条！")
    private Integer pageSize = 10;

    /**
     * 动态查询条件
     */
//    @Valid
//    @NotNull(message = "动态查询条件不能为空！")
    private T query;


    /**
     * 是否排序
     */
    private boolean order = false;

    /**
     * 排序字段 默认按照id排序，默认只支持1个字段排序，多字段需自行实现
     */
    private String sortParam = "id";

    /**
     * 排序方向 1=asc，2=desc
     */
    private Integer sortDirection = 1;

    /**
     * 查询字段，json格式，例如查询id=1的，{"id":1}
     */
    private String param;
}
